Currently, with the continuous development of wireless networks and mobile devices, wireless client applications are becoming increasingly common, and these client applications typically need to be updated frequently.
FIG. 1 is a flow chart illustrating a conventional process for updating a client. The process 100 is performed by a server and includes:
In 110, the server receives an update check from a client. The update check is sent by the client to verify that the software loaded on the client is up to date.
Specifically, during startup of the client, the client transmits a version number of the client applications to the server to initiate the update check.
In 120, the server determines whether the client is to be updated. If the client is to be updated, control is passed to 130. If the client is not to be updated, control is passed to 140.
Upon receipt of the version number sent by the client, the server compares the received version number of the client applications with the latest version number of the client applications currently available. If the received version number matches the latest version number, the client does not need to be updated. If the received version number does not match the latest version number, the client is to be updated.
In 130, if the received version number does not match the latest version number, the server releases a client update package to update the client.
When the server determines that the received version number is different from latest client version number currently available based on the comparison of the received version number and the latest version number, the server determines all update packages for the client, and releases all update packages to update the client.
In 140, if the received version number matches the latest version number, the server notifies the client that it is not to be updated.
However, typically a client is able to offer many functions, with each function depending on a certain package or a certain plurality of packages. Because users have different usage habits, a user is typically likely only to use a certain function or a certain plurality of functions, but the user is not likely to use all offered functions. For example, a client offers credit card payment and utility bill payment functions, and the user ordinarily uses only the credit card payment function of the client, but very rarely or never uses the utility bill payment function of the client.
However, in the conventional process 100, once the server determines that the client is to be updated, regardless of whether a function supported by the client update package is used regularly, all update packages are inevitably released to update the client. This process clearly wastes network resources by updating packages that are not regularly used, decreases client update efficiency, and when conditions of a client network environment are relatively congested, substantially lengthens client update time.